﻿// =================================================================== 
// 项目说明
//====================================================================
// SunCity@Copy Right 2006-2008
// 文件： Category.cs
// 项目名称：SunCity_MS 
// 创建时间：2015/3/18
// 负责人：Chris
// ===================================================================
using System;
using System.Collections;
using System.Data;
using System.Data.SqlClient;
using EMS20.Entity;
using System.Collections.Generic;
namespace EMS20.IDataAccessLayer
{
    /// <summary>
    /// 数据层 dbo.Category 接口。
    /// </summary>
    public interface ICategoryDataAccessLayerBase
    {
		#region 基本方法
		/// <summary>
		/// 向数据库中插入一条新记录。
		/// </summary>
		/// <param name="_CategoryModel">Category实体</param>
		/// <returns>新插入记录的编号</returns>
		int Create_CategoryInsert(CategoryEntity _CategoryModel);
		
		/// <summary>
		/// 向数据库中插入一条新记录。带事务
		/// </summary>
		/// <param name="sp">事务对象</param>
		/// <param name="_CategoryModel">Category实体</param>
		/// <returns>新插入记录的编号</returns>
		int Create_CategoryInsert(SqlTransaction sp,CategoryEntity _CategoryModel);
		
		/// <summary>
		/// 向数据表Category更新一条记录。
		/// </summary>
		/// <param name="_CategoryModel">_CategoryModel</param>
		/// <returns>影响的行数</returns>
		int Create_CategoryUpdate(CategoryEntity _CategoryModel);
		
		/// <summary>
		/// 向数据表Category更新一条记录。带事务
		/// </summary>
		/// <param name="sp">事务对象</param>
		/// <param name="_CategoryModel">_CategoryModel</param>
		/// <returns>影响的行数</returns>
		int Create_CategoryUpdate(SqlTransaction sp,CategoryEntity _CategoryModel);
		
		/// <summary>
		/// 删除数据表Category中的一条记录
		/// </summary>
	    /// <param name="c_id">c_id</param>
		/// <returns>影响的行数</returns>
		int Create_CategoryDelete(int c_id);
		
		/// <summary>
		/// 删除数据表Category中的一条记录，带事务
		/// </summary>
		/// <param name="sp">事务对象</param>
	    /// <param name="c_id">c_id</param>
		/// <returns>影响的行数</returns>
		int Create_CategoryDelete(SqlTransaction sp,int c_id);
		
		
		/// <summary>
		/// 根据Category返回的查询DataRow创建一个CategoryEntity对象
		/// </summary>
		/// <param name="row">row</param>
		/// <returns>Category对象</returns>
		CategoryEntity Populate_CategoryEntity_FromDr(DataRow row);
		
        /// <summary>
		/// 得到 category 数据实体
		/// </summary>
		/// <param name="c_id">c_id</param>
		/// <returns>category 数据实体</returns>
		CategoryEntity Get_CategoryEntity(int c_id);
		
		
		/// <summary>
		/// 得到数据表Category所有记录
		/// </summary>
		/// <returns>数据实体</returns>
		IList< CategoryEntity> Get_CategoryAll();
			
		
		/// <summary>
        /// 检测是否存在根据主键
        /// </summary>
        /// <param name="c_id">c_id</param>
        /// <returns>是/否</returns>
		bool IsExistCategory(int c_id);

        #endregion
    }
}

